#ifndef __GPIO_H_
#define __GPIO_H_

typedef enum {
	GPIO_E_INPUT = 0,
	GPIO_E_OUTPUT,
	GPIO_E_DIR_MAX,
} gpio_dir_t;

typedef enum {
	GPIO_E_LOW = 0,
	GPIO_E_HIGH,
	GPIO_E_VAL_MAX,
} gpio_val_t;

#include <fcntl.h>
#include <linux/gpio.h>
#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <sys/ioctl.h>
#include <unistd.h>

#include "platforms/gpio.h"
#include "retval.h"

int gpio_dir(uint32_t num, gpio_dir_t dir);
int gpio_set(uint32_t num, gpio_val_t val);
int gpio_get(int num);

#endif /* __GPIO_H_ */
